/* Copyright (c) 2024 Qualcomm Technologies International, Ltd. */
/* %%version */

#ifndef GATT_OTS_CLIENT_READ_OBJECT_H_
#define GATT_OTS_CLIENT_READ_OBJECT_H_

#include "gatt_ots_client_private.h"

void OtscHandleInternalMsgReadObject(GOTSC *gattOtsClient,
                                     OtscInternalMsgReadObject* msg);

void OtscSendReadObjectCfm(GOTSC *const gattOtsClient,
                           uint16 valueLen,
                           uint8 *value,
                           bool moreToCome,
                           CsrBtResultCode result,
                           CsrBtSupplier supplier);

void OtscHandleReadCfmToReadObjectContent(GOTSC *const gattOtsClient,
                                          const CsrBtGattReadCfm *cfm);

void OtscHandleWriteCfmToReadObjectContent(GOTSC *const gattOtsClient,
                                           const CsrBtGattWriteCfm *cfm);

void OtscHandleOtsConnectCfm(GOTSC *const gattOtsClient);

void OtscHandleObjActionControlPointInd(GOTSC *const gattOtsClient,
                                        const CsrBtGattClientIndicationInd *ind);

void OtscPrepareAndSendObjectContent(GOTSC *const gattOtsClient,
                                     uint8* content,
                                     uint16 length);

#ifndef CSR_STREAMS_ENABLE
void OtscHandleCmDataInd(GOTSC *const gattOtsClient, CsrBtCmL2caDataInd *ind);
#endif

#endif /* GATT_OTS_CLIENT_READ_OBJECT_H_ */
